package top.infopub.model.fia;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/*发票管理（FIA_INVOICE_MANAGE）*/
public class InvoiceManage {

    /*pk*/
    private String id;
    /*codes*/
    private String codes;
    /*项目唯一编码*/
    private String proCode;
    /*添加人*/
    private String addBy;
    /*添加时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date addTime;
    /*修改人*/
    private String uptBy;
    /*修改时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date uptTime;
    /*发票号*/
    private String invoiceNo;
    /*货物或应税劳务、服务名称*/
    private String goodName;
    /*开票金额*/
    private BigDecimal invoiceAmount;
    /*税额*/
    private BigDecimal taxAmount;
    /*价税合计（开票金额+税额，小写）*/
    private BigDecimal totalAmount;
    /*开票日期*/
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date invoiceDate;
    /*开票性质(1=收入发票  2=支出发票)*/
    private String invoiceProperty;
    /*拨付方式（1=现金，2=支票，3=网银，4=银行承兑汇票，5=商业承兑汇票，6=银行汇票，7=总部代付工程款，8=其他）*/
    private String applyMode;
    /*拨付日期*/
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date applyDate;
    /*拨付类型（1=工程款，2=建设资金，3=前期费用，4=日常经营借款，5=投标保证金，6=投资款，7=注册资本金，8=资本调剂，9=资信证明）*/
    private String applyType;
    /*拨付金额*/
    private BigDecimal applyAmount;
    /*申请拨付公司ID*/
    private String applyOrgId;
    /*购买方名称*/
    private String buyerName;
    /*购买方纳税人识别号*/
    private String buyerTaxNumber;
    /*购买方地址*/
    private String buyerAddress;
    /*购买方电话*/
    private String buyerTel;
    /*购买方开户行*/
    private String buyerOpenBank;
    /*购买方账户*/
    private String buyerAccount;
    /*销售方名称*/
    private String sellerName;
    /*销售方纳税人识别号*/
    private String sellerTaxNumber;
    /*销售方地址*/
    private String sellerAddress;
    /*销售方电话*/
    private String sellerTel;
    /*发票类型（1=增值税普通发票 2=增值税专用发票）*/
    private String invoiceType;
    /*关联的审批流程id*/
    private String processId;
    /*当前审批状态 1=审批中 9=审批完成 10=审批终止 0=待提交*/
    private String processStatus;
    /*OA代办id*/
    private String oaId;

    /* 价税合计（开票金额+税额，大写） */
    private String totalAmountUpp;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCodes() {
        return codes;
    }

    public void setCodes(String codes) {
        this.codes = codes;
    }

    public String getProCode() {
        return proCode;
    }

    public void setProCode(String proCode) {
        this.proCode = proCode;
    }

    public String getAddBy() {
        return addBy;
    }

    public void setAddBy(String addBy) {
        this.addBy = addBy;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public String getUptBy() {
        return uptBy;
    }

    public void setUptBy(String uptBy) {
        this.uptBy = uptBy;
    }

    public Date getUptTime() {
        return uptTime;
    }

    public void setUptTime(Date uptTime) {
        this.uptTime = uptTime;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public String getGoodName() {
        return goodName;
    }

    public void setGoodName(String goodName) {
        this.goodName = goodName;
    }

    public BigDecimal getInvoiceAmount() {
        return invoiceAmount;
    }

    public void setInvoiceAmount(BigDecimal invoiceAmount) {
        this.invoiceAmount = invoiceAmount;
    }

    public BigDecimal getTaxAmount() {
        return taxAmount;
    }

    public void setTaxAmount(BigDecimal taxAmount) {
        this.taxAmount = taxAmount;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Date getInvoiceDate() {
        return invoiceDate;
    }

    public void setInvoiceDate(Date invoiceDate) {
        this.invoiceDate = invoiceDate;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getApplyMode() {
        return applyMode;
    }

    public void setApplyMode(String applyMode) {
        this.applyMode = applyMode;
    }

    public Date getApplyDate() {
        return applyDate;
    }

    public void setApplyDate(Date applyDate) {
        this.applyDate = applyDate;
    }

    public String getApplyType() {
        return applyType;
    }

    public void setApplyType(String applyType) {
        this.applyType = applyType;
    }

    public BigDecimal getApplyAmount() {
        return applyAmount;
    }

    public void setApplyAmount(BigDecimal applyAmount) {
        this.applyAmount = applyAmount;
    }

    public String getApplyOrgId() {
        return applyOrgId;
    }

    public void setApplyOrgId(String applyOrgId) {
        this.applyOrgId = applyOrgId;
    }

    public String getBuyerName() {
        return buyerName;
    }

    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    public String getBuyerTaxNumber() {
        return buyerTaxNumber;
    }

    public void setBuyerTaxNumber(String buyerTaxNumber) {
        this.buyerTaxNumber = buyerTaxNumber;
    }

    public String getBuyerAddress() {
        return buyerAddress;
    }

    public void setBuyerAddress(String buyerAddress) {
        this.buyerAddress = buyerAddress;
    }

    public String getBuyerTel() {
        return buyerTel;
    }

    public void setBuyerTel(String buyerTel) {
        this.buyerTel = buyerTel;
    }

    public String getBuyerOpenBank() {
        return buyerOpenBank;
    }

    public void setBuyerOpenBank(String buyerOpenBank) {
        this.buyerOpenBank = buyerOpenBank;
    }

    public String getBuyerAccount() {
        return buyerAccount;
    }

    public void setBuyerAccount(String buyerAccount) {
        this.buyerAccount = buyerAccount;
    }

    public String getSellerName() {
        return sellerName;
    }

    public void setSellerName(String sellerName) {
        this.sellerName = sellerName;
    }

    public String getSellerTaxNumber() {
        return sellerTaxNumber;
    }

    public void setSellerTaxNumber(String sellerTaxNumber) {
        this.sellerTaxNumber = sellerTaxNumber;
    }

    public String getSellerAddress() {
        return sellerAddress;
    }

    public void setSellerAddress(String sellerAddress) {
        this.sellerAddress = sellerAddress;
    }

    public String getSellerTel() {
        return sellerTel;
    }

    public void setSellerTel(String sellerTel) {
        this.sellerTel = sellerTel;
    }

    public String getInvoiceProperty() {
        return invoiceProperty;
    }

    public void setInvoiceProperty(String invoiceProperty) {
        this.invoiceProperty = invoiceProperty;
    }

    public String getProcessId() {
        return processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public String getProcessStatus() {
        return processStatus;
    }

    public void setProcessStatus(String processStatus) {
        this.processStatus = processStatus;
    }

    public String getOaId() {
        return oaId;
    }

    public void setOaId(String oaId) {
        this.oaId = oaId;
    }

    public String getTotalAmountUpp() {
        return totalAmountUpp;
    }

    public void setTotalAmountUpp(String totalAmountUpp) {
        this.totalAmountUpp = totalAmountUpp;
    }
}
